package cn.juque.datapipeline.service;

import cn.juque.datapipeline.bo.statistics.MostUseTimeGroupBO;
import cn.juque.datapipeline.bo.statistics.TaskRunDistributeBO;
import cn.juque.datapipeline.bo.statistics.TotalStatisticsBO;

import java.util.Date;

/**
 * @author juque
 * @version 1.0.0
 * <ul>
 *     <li>IStatisticsService</li>
 * </ul>
 * @date 2023-04-11 23:20:49
 **/
public interface IStatisticsService {

    /**
     * 统计任务组数量
     * @return TotalStatisticsBO
     */
    TotalStatisticsBO totalGroupCount();

    /**
     * 统计任务执行的分布状态
     * @param date 日期
     * @return TaskRunDistributeBO
     */
    TaskRunDistributeBO statisticsDistribute(String date);

    /**
     * 统计最耗时任务组
     * @param date 日期
     * @return TaskRunDistributeBO
     */
    MostUseTimeGroupBO statisticsMostUseTime(String date);
}
